#include<iostream>
#include<stack>
#include<cctype>
int x, y, ans,num;
using namespace std;
int main()
{
	char ch;stack<int> st;
	while (cin >> ch)
	{
		if (ch == '@')break;
		else if (isdigit(ch)) num = num * 10 + ch - '0';
		else if (ch == '.') { st.push(num);num = 0; }
		else
		{
			x = st.top();st.pop();
			y = st.top();st.pop();
			switch (ch)
			{
			case '+':st.push(x + y);break;
			case '-':st.push(y - x);break;
			case '*':st.push(x * y);break;
			case '/':st.push(y / x);break;
			}
		}
	}
	cout << st.top() << endl;
	return 0;
}
//#include<iostream>
//#include<stack>
//#include<cctype>
//#include<string>
//typedef long long ll;
//ll x, y,ans,num;
//using namespace std;
//int main()
//{
//	int flag = 0;string s1;
//	stack <ll> st; char ch;
//	while (cin >> ch)
//	{
//		if (ch == '@')break;
//		if (isdigit(ch)) num += num * 10 + ch - '0';
//		else if (ch == '.') {st.push(num); num = 0;}
//		else
//		{
//			switch (ch)
//			{
//			case '+': x = st.top();if (flag == 0) { st.pop();y = st.top();ans += y + x;flag = 1;st.pop();break; }
//					else { st.pop();ans += x;break; }
//			case '-':  x = st.top();if (flag == 0) { st.pop();y = st.top();ans += y - x;flag = 1;st.pop();break; }
//					else { st.pop();ans -= x;break; }
//			case '*': x = st.top();if (flag == 0) { st.pop();y = st.top();ans += y * x;flag = 1;st.pop();break; }
//					else { st.pop();ans *= x;break; }
//			case'/':  x = st.top();if (flag == 0) { st.pop();y = st.top();ans += y / x;flag = 1;st.pop();break; }
//					else { st.pop();ans /= x;break; }
//			}
//		}
//	}
//	cout << ans << endl;
//	return 0;
//}